package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortPoint {
    public static void main(String[] args) {
        List<Point>pp=new ArrayList<>();
        pp.add(new Point(1,3));
        pp.add(new Point(4,3));
        pp.add(new Point(189,3));
        pp.add(new Point(98,45));
        pp.add(new Point(1,3));
        System.out.println(pp);

        pp.sort((o1, o2) -> o1.getX()-o1.getY());



        /**
         * */
        pp.sort(new Comparator<Point>() {
            @Override
            public int compare(Point o1, Point o2) {
                return o1.getX()-o1.getY();
            }
        });



        Collections.sort(pp, (o1, o2) -> o1.getX()- o2.getX());
        System.out.println(pp);

        Collections.sort(pp, new Comparator<Point>() {
            @Override
            public int compare(Point o1, Point o2) {

                int len1=o1.getX()*o1.getX()+o1.getY()*o1.getY();
                int len2=o2.getX()*o2.getX()+o2.getY()*o2.getY();
//                return len1-len2;//降序
                return len2-len1;//升序
            }
        });

        Collections.sort(pp,(o1, o2) -> {
            int len1=o1.getX()*o1.getX()+o1.getY()*o1.getY();
            int len2=o2.getX()*o2.getX()+o2.getY()*o2.getY();
                return len1-len2;//降序
        });

    }
}
